package com.jeesite.modules.exam.score.entity;

import com.jeesite.common.entity.BaseEntity;
import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;

import javax.validation.constraints.Size;

/**
 * 考核任务评分汇总表Entity
 * @author xhc
 * @version 2022-05-28
 */
@Table(name="dc_sup_exam_sum_score", alias="a", label="考核任务评分汇总表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="exam_id", attrName="examId", label="考核任务id", isQuery=true),
		@Column(name="score_source", attrName="scoreSource", label="评分来源", comment="评分来源（1汇总指标、2加减分项）"),
		@Column(name="quota_id", attrName="quotaId", label="指标id", comment="指标id（包含：sum_quota_id、quota_add_id）"),
		@Column(name="quota_score", attrName="quotaScore", label="指标分数", isUpdateForce=true),
		@Column(name="quota_weight", attrName="quotaWeight", label="指标分数", isUpdateForce=true),
		@Column(name="score_reason", attrName="scoreReason", label="打分原因"),
		@Column(name="exame_org", attrName="exameOrg", label="被考核单位编码", comment="被考核单位编码（单个）"),
		@Column(name="exame_org_name", attrName="exameOrgName", label="打分单位编码", comment="被考核单位名称（单个）"),
		@Column(name="score_org", attrName="scoreOrg", label="打分单位名称", comment="打分单位编码（单个）"),
		@Column(name="score_org_name", attrName="scoreOrgName", label="打分单位名称", comment="打分单位名称（单个）"),
		@Column(name="sum_status", attrName="sumStatus", label="汇总状态", comment="汇总状态（0删除、1草稿、2已发布）"),
		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false, isUpdateForce=true),
		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="remarks", attrName="remarks", label="备注", queryType=QueryType.LIKE),
		@Column(includeEntity=BaseEntity.class),
		@Column(name="remarks1", attrName="remarks1", label="备用字段1", queryType=QueryType.LIKE, isUpdateForce=true),
		@Column(name="remarks2", attrName="remarks2", label="备用字段2", queryType=QueryType.LIKE),
		@Column(name="remarks3", attrName="remarks3", label="备用字段3", queryType=QueryType.LIKE),
		@Column(name="remarks4", attrName="remarks4", label="备用字段4", queryType=QueryType.LIKE),
		@Column(name="percentage", attrName="percentage", label="百分比", isUpdateForce=true),
	}, orderBy="a.update_date DESC"
)
public class DcSupExamSumScore extends DataEntity<DcSupExamSumScore> {
	
	private static final long serialVersionUID = 1L;
	 /**
	 * 考核任务id
	 */
	private String examId;
	 /**
	 * 评分来源（1汇总指标、2加减分项）
	 */
	private String scoreSource;
	 /**
	 * 指标id（包含：sum_quota_id、quota_add_id）
	 */
	private String quotaId;

	/**
	 * 权重
	 */
	private Double quotaWeight;
	 /**
	 * 指标分数
	 */
	private Double quotaScore;

	/**
	 * 百分比
	 */
	private Double percentage;

	/**
	 * 打分原因
	 */
	private String scoreReason;
	 /**
	 * 汇总状态（0删除、1草稿、2已发布）
	 */
	private String sumStatus;

	/**
	 * 被考核单位编码（单个）
	 */
	private String exameOrg;

	/**
	 * 被考核单位名称（单个）
	 */
	private String exameOrgName;

	/**
	 * 被考核单位名称（单个）
	 */
	private String scoreOrg;

	/**
	 * 打分单位名称（单个）
	 */
	private String scoreOrgName;
	 /**
	 * 备用字段1
	 */
	private Long remarks1;
	 /**
	 * 备用字段2
	 */
	private String remarks2;
	 /**
	 * 备用字段3
	 */
	private String remarks3;
	 /**
	 * 备用字段4
	 */
	private String remarks4;

	public Double getPercentage() {
		return percentage;
	}

	public void setPercentage(Double percentage) {
		this.percentage = percentage;
	}

	public DcSupExamSumScore() {
		this(null);
	}

	public DcSupExamSumScore(String id){
		super(id);
	}
	
	@Size(min=0, max=64, message="考核任务id长度不能超过 64 个字符")
	public String getExamId() {
		return examId;
	}

	public void setExamId(String examId) {
		this.examId = examId;
	}
	
	@Size(min=0, max=10, message="评分来源长度不能超过 10 个字符")
	public String getScoreSource() {
		return scoreSource;
	}

	public void setScoreSource(String scoreSource) {
		this.scoreSource = scoreSource;
	}
	
	@Size(min=0, max=64, message="指标id长度不能超过 64 个字符")
	public String getQuotaId() {
		return quotaId;
	}

	public void setQuotaId(String quotaId) {
		this.quotaId = quotaId;
	}
	
	public Double getQuotaScore() {
		return quotaScore;
	}

	public void setQuotaScore(Double quotaScore) {
		this.quotaScore = quotaScore;
	}
	
	public String getScoreReason() {
		return scoreReason;
	}

	public void setScoreReason(String scoreReason) {
		this.scoreReason = scoreReason;
	}
	
	@Size(min=0, max=10, message="汇总状态长度不能超过 10 个字符")
	public String getSumStatus() {
		return sumStatus;
	}

	public void setSumStatus(String sumStatus) {
		this.sumStatus = sumStatus;
	}
	
	public Long getRemarks1() {
		return remarks1;
	}

	public void setRemarks1(Long remarks1) {
		this.remarks1 = remarks1;
	}
	
	@Size(min=0, max=200, message="备用字段2长度不能超过 200 个字符")
	public String getRemarks2() {
		return remarks2;
	}

	public void setRemarks2(String remarks2) {
		this.remarks2 = remarks2;
	}
	
	@Size(min=0, max=200, message="备用字段3长度不能超过 200 个字符")
	public String getRemarks3() {
		return remarks3;
	}

	public void setRemarks3(String remarks3) {
		this.remarks3 = remarks3;
	}
	
	@Size(min=0, max=200, message="备用字段4长度不能超过 200 个字符")
	public String getRemarks4() {
		return remarks4;
	}

	public void setRemarks4(String remarks4) {
		this.remarks4 = remarks4;
	}

	public String getExameOrg() {
		return exameOrg;
	}

	public void setExameOrg(String exameOrg) {
		this.exameOrg = exameOrg;
	}

	public String getExameOrgName() {
		return exameOrgName;
	}

	public void setExameOrgName(String exameOrgName) {
		this.exameOrgName = exameOrgName;
	}

	public String getScoreOrg() {
		return scoreOrg;
	}

	public void setScoreOrg(String scoreOrg) {
		this.scoreOrg = scoreOrg;
	}

	public String getScoreOrgName() {
		return scoreOrgName;
	}

	public void setScoreOrgName(String scoreOrgName) {
		this.scoreOrgName = scoreOrgName;
	}

	public Double getQuotaWeight() {
		return quotaWeight;
	}

	public void setQuotaWeight(Double quotaWeight) {
		this.quotaWeight = quotaWeight;
	}
}